package com.alibaba.algo.cooperation.usercomponent.vo.res.user;

import com.google.common.annotations.GwtCompatible;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;
import java.util.List;

/**
 * @author: niechanggang
 * @date:2021/3/30 16:56
 * @description:
 */
@Data
@Getter
@Setter
public class SelectRoleDetailByIdResponseVO {

    @ApiModelProperty(value="角色id")
    private  Long  roleId;

    /**
     * 角色编码
     */
    @ApiModelProperty(value="角色编码")
    private String roleCode;

    /**
     * 角色名称
     */
    @ApiModelProperty(value="角色名称")
    private String roleName;

    /**
     * 角色类型
     */
    @ApiModelProperty(value="角色类型", notes = "0：公共角色，1：组织角色")
    private Integer roleType;

    /**
     * 角色描述
     */
    @ApiModelProperty(value="角色描述")
    private String roleDesc;

    /**
     * 继承的公共角色id
     */
    @ApiModelProperty(value="继承的公共角色id")
    private Long inheritedPublicRoleId;

    /**
     * 有效期开始时间
     */
    @ApiModelProperty(value="有效期开始时间")
    private Date expireStarttime;

    /**
     * 有效期结束时间
     */
    @ApiModelProperty(value="有效期结束时间")
    private Date expireEndtime;

    /**
     * 状态 0无效  1有效
     */
    @ApiModelProperty(value="角色状态", notes = "0:无效  1:有效")
    private Integer roleState;

    /**
     * 继承的公共角色
     */
    @ApiModelProperty(value="继承的公共角色")
    private SysRoleInfoVO  inheritedPublicRole;

    /**
     * 拥有此角色的用户列表
     */
    @ApiModelProperty(value="角色下对应的用户列表")
    private List<SysUserInfoVO> userList;

    /**
     * 组织角色适用的组织
     */
    @ApiModelProperty(value="组织角色下对应的组织列表")
    private List<SysOrgInfoVO> orgList;

    /**
     * 此角色关联的资源列表
     */
    private List<SysResourceResponseVO> resourceList;
}
